//# sourceURL=http://uMapApp/UI/TopMenu/TopMenus
define([
    "mhjs/mhjs",
    "./TopMenu"
], function (
    mhjs,
    TopMenu
) {

    function TopMenus(option) {

        var _this = this;

        mhjs.Div.call(_this, option);
        _this.addClass("menus");

    }

    var _class = TopMenus;
    mhjs.Inherit(_class, mhjs.Div);


    Object.defineProperties(_class.prototype, {
        "list": {
            set: function (list) {
                var _this = this;
                _this._list = [];
                _this.empty();

                $.each(list, function (i, menujson) {

                    var menu = new TopMenu(menujson);

                    _this._list.push(menu);
                    _this.append(menu);

                    if (menu.name) {
                        _this[menu.name] = menu;
                    }

                    menu.on("click", function (menu) {

                        if (menu.isToggle && menu.module) {

                            menu.module.toggle();
                            menu.active = menu.module.isOpened;

                        } else if (menu.module && !menu.active) {

                            if (_this.activeMenu && _this.activeMenu !== menu && _this.activeMenu.module) {
                                _this.activeMenu.module.close();
                                _this.activeMenu.active = false;
                            }

                            menu.module.open();
                            menu.active = true;

                            _this.activeMenu = menu;

                            if (_this.app) {
                                _this.app.activeModule = menu.module;
                            }
                        }
                    });
                });

            },
            get: function () {
                return this._list;
            }
        }
    });

    return _class;

});